/*
 * Metrics.h
 *
 *  Created on: 10/12/2008
 *      Author: fernando
 */

#ifndef METRICS_H_
#define METRICS_H_

#include "defs.h"

namespace core {

class Metrics {

	Point _x_axis;
	Point _y_axis;
	Point _z_axis;
	Point _centre;
	float _rotation;
	float _elevation;
	float _zoom;

public:
	Metrics();
	virtual ~Metrics();

	void zoom(float zoom);
	void centre(Point& point);
	void centre(float x, float y);
	void update();

	void toScreen(Point& from, Point& to) const;
	void toScreen(Vertex& from, Point& to) const;
	void toScreen(float x, float y, float z, Point& to) const;
};

}

#endif /* METRICS_H_ */

